import axios from 'axios'
import { Message } from 'element-ui'
import { localGet , localRemove} from '@/utils/token.js'
 import router from '@/router/index.js'
// 创建axios副本
let _fetch = axios.create({
    baseURL:process.env.VUE_APP_URL,
    // true跨越照样携带cookie
    withCredentials:true
})

// -------------------------------------------------------------------
// 添加请求拦截器
_fetch.interceptors.request.use(
    function (config) {
    // 在发送请求之前做些什么
    // 获取token
    if(localGet()){
      config.headers.token = localGet()
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
_fetch.interceptors.response.use(
    function (response) {
    // 对响应数据做点什么
    if(response.data.code == 200 || response.config.noerror == true){
        return response.data;
    } else if (response.data.code == 206){
      //  删除token
      localRemove()
      // 跳转至登录页
      router.push('/')
      // 抛出错误,阻止接口执行
      Message.error(response.data.message)
      return Promise.reject('error');
    } 
   else{
        Message.error(response.data.message)
        // 抛出错误,终止后面then的执行
        return Promise.reject('error');
    }
    
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });
// ---------------------------------------------------------------------
export default _fetch